package tec;
	public void lance(){
	
	System.out.print("\nTest de PassagerStandard:\n\n");
	
	System.out.print("Test du constructeur\n");
	testConstructeur();
	System.out.print("--->OK\n");

	System.out.print("Test de accepterPlaceAssise()\n");
	testAccepterPlaceAssise();
	System.out.print("--->OK\n");

	System.out.print("Test de accepterPlaceDebout()\n");
	testAccepterPlaceDebout();
	System.out.print("--->OK\n");

	System.out.print("Test de accepterSortie()\n");
	testAccepterSortie();
	System.out.print("--->OK\n");
    
	System.out.print("Test de nom()\n");
	testNom();
	System.out.print("--->OK\n");

	System.out.print("Test de monterDans()\n");
	testMonterDans();
	System.out.print("--->OK\n");

	System.out.print("Test de nouvelArret()\n");
	testNouvelArret();
	System.out.print("--->OK\n");
	
	



	}	


public abstract class TestPassagerAbstrait{
	abstract void testChoixPlaceMontee();
	abstract void testChoixChangerPlace();
	abstract protected PassagerAbstrait creerPassager(String nom, int destination);

	protected void testConstructeur(){
		String nom="toto";
		int dest = 10;
		PassagerAbstrait p = creerPassager(nom, dest);
		assert !p.estAssis() :"est  assis";
		assert !p.estDebout() : "est debout";
		assert p.estDehors() :"est dehors";
	}
	
	protected void testAccepterPlaceAssise(){
	
		PassagerAbstrait p = creerPassager("toto",10);
		p.accepterPlaceAssise();
		assert p.estAssis() :"est  assis";
		assert !p.estDebout() : "est debout";
		assert !p.estDehors() :"est dehors";
	}

	protected void testAccepterPlaceDebout(){
	
		PassagerAbstrait p = creerPassager("toto",10);
		p.accepterPlaceDebout();
		assert !p.estAssis() :"est  assis";
		assert p.estDebout() : "est debout";
		assert !p.estDehors() :"est dehors";
	}
	protected void testAccepterSortie(){
	
		PassagerAbstrait p = creerPassager("toto",10);
		p.accepterSortie();
		assert !p.estAssis() :"est  assis";
		assert !p.estDebout() : "est debout";
		assert p.estDehors() :"est dehors";
	}
	
	protected void testNom(){
	
		PassagerAbstrait p = creerPassager("toto",2);
		assert p.nom()=="toto";
	}
	
	protected void testNouvelArret(){
		
		Bus b1 = new Autobus(50,50);
		PassagerAbstrait p = creerPassager("toto",2);
		p.monterDans(b1);
		b1.allerArretSuivant();
		b1.allerArretSuivant();
		assert p.estDehors():"dehors";
	}
	
	protected void testMonterDans(){
		Bus b1 = new Autobus(50,50);
		PassagerAbstrait p = creerPassager("toto",10);
		p.monterDans(b1);
		assert (p.estAssis()&&!p.estDebout())||(p.estDebout()&&!p.estAssis());
	}




}
